/*
 * midi_interrupt.h
 *
 */

#ifndef MIDI_INTERRUPT_H_
#define MIDI_INTERRUPT_H_

#include "lpc17xx_uart.h"
#include <stdint.h>
#include <stdbool.h>
#include <defs.h>
#include <leds.h>
#include <fifo.h>
#include <midi.h>

// internal interrupt related defines
#define IER_RBR		0x01
#define IER_THRE	0x02
#define IER_RLS		0x04

#define IIR_PEND	0x01
#define IIR_RLS		0x03
#define IIR_RDA		0x02
#define IIR_CTI		0x06
#define IIR_THRE	0x01

#define LSR_RDR		0x01
#define LSR_OE		0x02
#define LSR_PE		0x04
#define LSR_FE		0x08
#define LSR_BI		0x10
#define LSR_THRE	0x20
#define LSR_TEMT	0x40
#define LSR_RXFE	0x80

extern FIFO_BUFFER midi_buffer;

void UART1_IRQHandler(void);

#endif /* MIDI_INTERRUPT_H_ */
